package com.tianqu.tms.dao;

import java.sql.Timestamp;
import java.util.List;

import com.tianqu.tms.core.exception.TmsDaoException;
import com.tianqu.tms.dto.BaseCarInfoDto;
import com.tianqu.tms.dto.ControlCarDto;
import com.tianqu.tms.dto.MarketCarGateInfoDto;
import com.tianqu.tms.dto.MarketCarHandleInfoDto;
import com.tianqu.tms.dto.MarketCarInfoChe300;
import com.tianqu.tms.dto.MarketCarInfoDto;
import com.tianqu.tms.dto.MarketCarServiceDto;
import com.tianqu.tms.dto.TempLicensePlate;
import com.tianqu.tms.dto.TransferAcceptedInfoDto;
import com.tianqu.tms.dto.TransferPersonalCarInfoDto;
import com.tianqu.tms.dto.TroubleCarInfoDto;
import com.tianqu.tms.entity.Car;


public interface CarDao {
	
	public void updateCarOwnerByOwnerCardNo(MarketCarInfoDto info) throws TmsDaoException;
	public void updateCarByVin(String vin, String regDate) throws TmsDaoException;
	
	public MarketCarInfoDto getCarOwnerById(String id)throws TmsDaoException;
	
	public List<MarketCarInfoDto> findCarOwnerByCardNo(String ownerCardNo)throws TmsDaoException;
	
	
	public List<MarketCarInfoDto> findCarOwnerByName(String name)throws TmsDaoException;
	
	/**
	 * 载入待办车辆
	 * @return
	 */
	public List<ControlCarDto> loadControlCarList() throws TmsDaoException;
	
	/**
	 * 根据VIN码查询车辆信息
	 * @param vin
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarByVin(String vin)throws TmsDaoException;
	public List<MarketCarInfoDto> findCarListByVin(String vin)throws TmsDaoException;
	
	/**
	 * 添加车辆信息
	 */
	public void saveMarketCarInfo(MarketCarInfoDto marketCarInfoDto)throws TmsDaoException;
	
	/**
	 * 修改车辆信息
	 * @param marketCarInfoDto
	 * @throws TmsDaoException
	 */
	public void updateMarketCarInfo(MarketCarInfoDto marketCarInfoDto)throws TmsDaoException;
	
	/**
	 * 根据车牌号码查询车辆信息
	 * @param licensePlate
	 * @param isCarscore 保留上一个版本的逻辑isCarscore
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarByLicensePlate(String licensePlate)throws TmsDaoException;
	
	 
	
	/**
	 * 根据车牌号码查询车辆信息
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarByLicensePlateInventory(String licensePlate)throws TmsDaoException;
	
	
	/**
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarByNewLicensePlate(String licensePlate)throws TmsDaoException;
	
	
	/**
	 * 查找特权车辆
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findPrivilegeCarByLicensePlate(String id,int type)throws TmsDaoException;
	
	public void updateCarEvaluate(String serial,MarketCarInfoDto dto) throws TmsDaoException;
	
	/**
	 * 临时车牌
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarByTempLicensePlate(String licensePlate,int beginIndex)throws TmsDaoException;
	
	/**
	 * 根据车牌号码查询车辆信息
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto searchAllCarByLicensePlate(String licensePlate)throws TmsDaoException;
	/**
	 * 根据车辆流水号查询车辆信息
	 * @param serial
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarBySerial(String serial)throws TmsDaoException;
	
	/**
	 * 取消处理
	 * @param licensePlate
	 * @param inputTime
	 */
	public void cancelInnerCar(long id)throws TmsDaoException;
	
	/**
	 * 根据id载入监控表中的车辆信息
	 * @param id
	 * @return
	 * @throws TmsDaoException
	 */
	public ControlCarDto findCarById(long id)throws TmsDaoException;
	/**
	 * 高级搜索
	 * @throws TmsDaoException 
	 */
	public List findSeniorSearchResultByCon(String carClass, String vendorId,
			String brandId, String licensePlant, String vin, String memId,
			String startTime, String endTime, String registerStatus,String barCodeNum,
			String tempLicensePlate,String minPrice,String maxPrice,String startYear,String endYear) throws TmsDaoException;
	
	/**
	 * 高级搜索 - 进出库查询
	 * @param serial
	 * @param licensePlate
	 * @param memId
	 * @param startTime
	 * @param endTime
	 * @return
	 * @throws TmsDaoException
	 */
	public List<MarketCarGateInfoDto> findInoutResult(String serial, String threadStatus,String gateId, String startTime, String endTime) throws TmsDaoException;			
	/**
	 * 根据入库时间得到入库车辆的数量
	 * @param inputTime
	 * @return
	 */
	public int loadGatesInfoCount(String inputTime);
	
	/**
	 * 
	 * 查询车辆进出库信息
	 */
	public List findGatesInfoIOList(String cardNo,String carLicense,String period) throws TmsDaoException;
	/**
	 * 
	 * 库存统计
	 */
	public List<MarketCarInfoDto> getCarStockCountInfoByMemId(String memId) throws TmsDaoException;
	
	
	/**
	 * 根据serial更新车牌,临时车牌
	 * @throws TmsDaoException
	 */
	public void updateLicenseplateBySerial(String licensePlate,String tmpLicenseplate,String serial) throws TmsDaoException;
	
	/**
	 * 查找是否存在相同serial
	 * @param serial
	 * @return
	 * @throws TmsDaoException
	 */
	public int findSameSerial(String serial)throws TmsDaoException;
	
	/**
	 * 判断更新时间是否小于大于上次更新的时间
	 * @param id
	 * @param uTime
	 * @return
	 * @throws TmsDaoException
	 */
	public int findUtimeStatus(long id,String uTime)throws TmsDaoException;
	/**
	 * 
	 * 车辆图片列表信息
	 */
	public List<MarketCarInfoDto> getCarPhoneInfoList() throws TmsDaoException;
	
	/**
	 * 载入会员车辆
	 * @param memberId
	 * @param status
	 * @return
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findMemberCar(String memberId,int type)throws TmsDaoException;
	public List<MarketCarInfoDto> findAttnCar(String attnId,int type)throws TmsDaoException;
	
	/**
	 * 
	 * @param memberId
	 * @param status
	 * @return
	 * @throws TmsDaoException
	 */
	public int loadMemberCarCount(String memberId,int status)throws TmsDaoException;
	
	public int loadAttnCarCount(String attnId,int status)throws TmsDaoException;
	
	/**
	 * 
	 * 评估更新库存信息
	 */
	public void updateCarInfoAtAssess(MarketCarInfoDto dto) throws TmsDaoException;
	
	
	/**
	 * 更新上下架
	 * @param serial
	 * @param shelve
	 * @throws TmsDaoException
	 */
	public void updateCarShelve(String serial,String shelve) throws TmsDaoException;
	
	/**
	 * 载入商户待办理的车辆
	 * @param memberId
	 * @return
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findMemberProxyCar(String memberId,int type)throws TmsDaoException;
	
	/**
	 * 待办受理更新库存信息
	 * 
	 */
	public void updateMarketInfoByLicensePlate(MarketCarInfoDto dto) throws TmsDaoException;
	
	/**
	 * 查找是否有车牌号相同，没有过期的车辆
	 * @param licensePlate
	 * @return boolean
	 * @throws TmsDaoException
	 */
	public boolean findInsertCarFlag(String licensePlate)throws TmsDaoException;
	
	/**
	 * 根据临时车牌查找表
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public TempLicensePlate findTempLicensePlate(String licensePlate) throws TmsDaoException;
	
	/**
	 * 判断是否有相同车辆编号 并且状态不为过期的车辆
	 * @param serial
	 * @return boolean
	 * @throws TmsDaoException
	 */
	public boolean findCarbySerial(String serial)throws TmsDaoException;

	/**
	 * 根据车辆编号查询主键id
	 * @param serial
	 * @return
	 * @throws TmsDaoException
	 */
	public Integer findCarIdbySerial(String serial)throws TmsDaoException;
	
	public MarketCarInfoChe300 getCarInfobySerial(String serial)throws TmsDaoException;

	/**
	 * 根据车架号查询问题车辆信息
	 * @param vin
	 * @return
	 * @throws TmsDaoException
	 */
	public TroubleCarInfoDto getTroubleCarInfobyVin(String vin)throws TmsDaoException;
	
	/**
	 * 
	 * vin码检索base表信息
	 */
	public BaseCarInfoDto findCarBaseInfoByVin(String vin) throws TmsDaoException;
	/**
	 * PAD上传更新
	 */
	public void updateCarAtPad(MarketCarInfoDto dto) throws TmsDaoException;
	/**
	 * 更新四张查验图片
	 */
	public void updateCarPic(MarketCarInfoDto dto) throws TmsDaoException;
	/**
	 * 插入一条库存信息
	 */
	public void insertCarInfo(MarketCarInfoDto dto) throws TmsDaoException;

	/**
	 * 更新库存记录
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void updateCarInfoWithWeiChat(MarketCarInfoDto dto) throws TmsDaoException;
	/**
	 * 插入一条库存信息(WeiChat)
	 */
	public void insertCarInfoWithWeiChat(MarketCarInfoDto dto) throws TmsDaoException;
	/**
	 * chayan
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void updateCarInfoAtCheck(MarketCarInfoDto dto) throws TmsDaoException;
	
	
	public void updateCarPhotoBySerial(String serial,MarketCarInfoDto marketCarInfoDto)  throws TmsDaoException;
	
	/**
	 * 插入立体停车场入库数据
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void insertEasyCarInfo(MarketCarInfoDto dto) throws TmsDaoException;
	/**
	 * 插入库存车辆特殊处理数据
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void insertCarHandleInfo(MarketCarHandleInfoDto dto) throws TmsDaoException;
	
	/**
	 * 入库登记入库确认
	 * @param serial
	 * @param carScore
	 * @throws TmsDaoException
	 * type=1入库  type=2 出库
	 */
	public void updateRegisterStatus(MarketCarInfoDto dto,int type) throws TmsDaoException;
	public void updateCarStatus(MarketCarInfoDto dto) throws TmsDaoException;
	public void updateCarStatusOnly(MarketCarInfoDto dto) throws TmsDaoException;
	public void updateCarStatusByLicenseplate(int status,String Licenseplate) throws TmsDaoException;
	public int findCarCount(int type)throws TmsDaoException;
	public int findCarCountByMem(int type,String memId)throws TmsDaoException;
	
	public void saveMemberMarketCarInfo(MarketCarInfoDto dto) throws TmsDaoException;
	
	public void insertPersonalCarInfo(MarketCarInfoDto dto) throws TmsDaoException;
	
	public MarketCarInfoDto findCarForPad(String licensePlate)throws TmsDaoException;
	
	public MarketCarInfoDto findCar(String licensePlate,int type) throws TmsDaoException;
	/**
	 * 根据类型检索车牌
	 * @param licensePlate
	 * @param type
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarByLicensePlate(String licensePlate,int type)throws TmsDaoException;

	public void updateCarEasy(MarketCarInfoDto dto)throws TmsDaoException;

	public void updatephotoC(String img1,String img2,String img3,String img4,String serial)throws TmsDaoException;

	public void updateMemberIdBySerial(MarketCarInfoDto dto)throws TmsDaoException;

	public void updateLicenseBySerial(MarketCarInfoDto dto)throws TmsDaoException;
	public void updateNewLicenseBySerial(TransferPersonalCarInfoDto dto) throws TmsDaoException;
	public void updateNewLicenseBySerial(MarketCarInfoDto dto) throws TmsDaoException;
	public void deleteCarInfoBySerial(String serial)throws TmsDaoException;
	
	
	public List findImCarName(String startTime,String endTime,int type,int carRidio)throws TmsDaoException;
	
	public List findAllImCarName(String startTime,String endTime,int type,int carRidio)throws TmsDaoException;
	public void updateCarName(MarketCarInfoDto dto)throws TmsDaoException;
	 
	 
	/**
	 * 入库车辆库存状态、入库时间/出库时间
	 * @param serial 序列号
	 * @param registerStatus 更新状态
	 * @param updateUserId 更新Userid
	 * @throws TmsDaoException
	 */
	public void updateCarInfoForInventory(String serial,int registerStatus,int updateUserId) throws TmsDaoException;
	
	/**
	 * 出库车辆快速登记收费开始时间
	 * @param serial 序列号
	 * @param chargeStartDate 快速登记收费开始时间
	 * @throws TmsDaoException
	 */
	public void updateChargeStartDateBySerial(String serial,Timestamp chargeStartDate) throws TmsDaoException;

	/**
	 * @param serial
	 * @param barCodeNum
	 * @throws TmsDaoException
	 */
	public void updateCarInfoForBarCodeNum(String serial,int barCodeNum) throws TmsDaoException;

	 
	/**
	 * 根据车牌获取信息
	 * @param serial
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarInfoDto findCarByLicensePlate(String tempLicensePlate,String licensePlate) throws TmsDaoException;
	
	
	//add by huangheli at 20150803 start
	public MarketCarInfoDto findCarBySerialLicensePlate(String serial,String licensePlate) throws TmsDaoException;
	public void updatePendingliftStatus(MarketCarInfoDto dto,int type)throws TmsDaoException;
	//add by huangheli at 20150803 end
	
	/**
	 * 根据新车牌号码查找是否有车牌号相同，没有过期的车辆
	 */
	public MarketCarInfoDto findCarFlagByNewLicensePlate(String newLicensePlate)	throws TmsDaoException ;
	/**
	 * 更新库存状态
	 */
	public void updateRegisterStatus(String serial, int registerStatus,int updateUserId) throws TmsDaoException;
	/**
	 * 更新库存状态
	 */
	public void updateRegisterStatus(String serial, int registerStatus) throws TmsDaoException;
	
	//更新车辆过户状态
	public void updateMarketCarInfo(String serial, int status, int updateUserId) throws TmsDaoException ;
	public void updateTmpLicensePlate(String licensePlate, int isUsed) throws TmsDaoException;
	
	public List<MarketCarInfoDto> getCarInfo(String memberId, String carScore) throws TmsDaoException;
	
	public List<MarketCarGateInfoDto> findInoutResult(String serial) throws TmsDaoException;
	
	/**
	 * @param condition
	 * @param type 1:vin 2:licensePlate
	 * @return
	 */
	public List<MarketCarInfoDto> findCarList(String condition, int type) throws TmsDaoException;

// add by mufeiyu start
	/**
	 * 对车架号是否已经使用进行check
	 * @param vin
	 * @return
	 */
	public String vinCheck(String vin) throws TmsDaoException;

	/**
	 * 对车架号是否已经使用进行check（不为4：存档）
	 * @param vin
	 * @return
	 */
	public String vinCheckNotKeep(String vin) throws TmsDaoException;
	
	/**
	 * 车辆库存状态（不为4：存档）
	 * @param condition
	 * @param type 1:vin 2:licensePlate
	 * @return
	 */
	public List<MarketCarInfoDto> findCarListNotKeep(String condition, int type) throws TmsDaoException;

	/**
	 * 车辆库存状态（3：取消）
	 * @param condition
	 * @param type 1:vin 2:licensePlate
	 * @return
	 */
	public List<MarketCarInfoDto> findCarListIsCancel(String condition, int type) throws TmsDaoException;
// add by mufeiyu e n d

	/**
	 * 判断输入的车架号是否已经被登记过
	 * @param vin
	 * @return boolean
	 * @throws TmsDaoException
	 */
	public boolean isExistMarketCarByVin(String vin)throws TmsDaoException;
	/**
	 * 判断车辆库存状态是否变化
	 * @param serial
	 * @param registerStatus
	 * @return boolean
	 * @throws TmsDaoException
	 */
	public boolean isChangedStockStatus(String serial,int registerStatus)throws TmsDaoException;
	/**
	 * 查找商户ID
	 * @param serial
	 * @return ControlCarDto
	 * @throws TmsDaoException
	 */
	public ControlCarDto findMemberId(String serial)throws TmsDaoException;
	/**
	 * 查找已用登记数量
	 * @param memberId
	 * @throws TmsDaoException
	 */
	public int getAlreadyTransactionVolumeByMemberId(String memberId)throws TmsDaoException;
	
	/**
	 * 查找车牌号List
	 * @param licensePlate
	 * @return
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findLicensePlateListByRegisterStatus(String licensePlate) throws TmsDaoException;
	
	/**
	 * 查找车牌号List
	 * @param licensePlate
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findLicensePlateList(String licensePlate)throws TmsDaoException;
	
	/**
	 * 查找车架号List
	 * @param vin
	 * @return
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findVinListByRegisterStatus(String vin)throws TmsDaoException;
	
	public List<MarketCarInfoDto> findVinList(String vin,String memberId)throws TmsDaoException;
	/**
	 * 查找车架号List
	 * @param vin
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findVinList(String vin)throws TmsDaoException;
	
	public List<BaseCarInfoDto> findBaseCarInfoVinList(String vin)throws TmsDaoException;
	
	/**
	 * 根据车架号查找车辆信息List
	 * @param vin
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findCarInfoListByVin(String vin)throws TmsDaoException;
	/**
	 * 更新车辆信息表
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void updateCarMatchInfo(MarketCarInfoDto dto,int tag1Skip,int tag2Skip)throws TmsDaoException;
	
	/**
	 * 查找车辆信息List
	 * @param dto
	 * @param type
	 * @throws TmsDaoException
	 */
	public List<MarketCarInfoDto> findCarListInfo(MarketCarInfoDto dto,int type)throws TmsDaoException;
	
	/**
	 * 更新车辆信息表
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void updateMarketCarIsMatchInfo(MarketCarInfoDto dto,int tag1Skip,int tag2Skip)throws TmsDaoException;

	/**
	 * 特权车车辆信息表
	 * @return 特权车车辆信息表
	 * @throws TmsDaoException
	 * @author zhao-qc
	 */
	public List<MarketCarInfoDto> findPrivilegeCar() throws TmsDaoException;
	
	/**
	 * 新增特权车车辆信息表
	 * @throws TmsDaoException
	 * @author zhao-qc
	 */
	public void savePrivilegeCarInfo(MarketCarInfoDto dto) throws TmsDaoException;
	
	/**
	 * 查询车牌号码是否存在
	 * @return 车牌号码
	 * @throws TmsDaoException
	 * @author zhao-qc
	 */
	public String findInputInfoTemLP(String tempLicensePlate) throws TmsDaoException;
	
	/**
	 * 查询易碎贴编号是否存在
	 * @return 易碎贴编号
	 * @throws TmsDaoException
	 * @author zhao-qc
	 */
	public String findInputInfoLP(String licensePlate) throws TmsDaoException;
	
	/**
	 * 要修改的特权车信息
	 * @return 特权车车辆信息表
	 * @throws TmsDaoException
	 * @author zhao-qc
	 */
	public MarketCarInfoDto findUpdatePriCarResult(String priviId) throws TmsDaoException;
	
	/**
	 * 更新特权车车辆信息表
	 * @throws TmsDaoException
	 * @author zhao-qc
	 */
	public void updatePrivilegeCarInfo(MarketCarInfoDto dto) throws TmsDaoException;

	/** 
	 * 自助打印-新车上牌
	 * 
	 * @param vin
     * @throws TmsDaoException
	 * @author 
	 * @return
	 */
	public List<TransferAcceptedInfoDto> loadCarAutoTerminalBrandNewCarList(String vin) throws TmsDaoException;

	/**
	 * 打印查验表
	 */
	public void updateTransferCyPrintNumByVin(TransferAcceptedInfoDto dto) throws TmsDaoException;
	
	/** 
	 * 自助打印-二手车上牌
	 * 
	 * @param dto
	 * @throws TmsDaoException
	 * @author 
	 * @return
	 */
	public List<TransferAcceptedInfoDto> loadCarAutoTerminalSecondHandList(TransferAcceptedInfoDto dto) throws TmsDaoException;
	
	/**
	 * 打印查验表
	 */
	public void updateTransferCyPrintNumByLicensePlate(TransferAcceptedInfoDto dto) throws TmsDaoException;
	
	/**
	 * 关联的库存车辆业务信息表（tms_market_car_service） 流程表缴费（checkPrice）+交易票缴费（transferPrice）
	 * 
	 * @param serial
	 * @return
	 * @throws TmsDaoException
	 */
	public MarketCarServiceDto findMarketCarService(String serial)throws TmsDaoException;
	
	/**
	 * 更新 会员基本信息数据表（tms_member）
	 */
	public void updateMember(int memberId, int price) throws TmsDaoException;
	
	/**
	 * 更新 库存车辆业务表（tms_market_car_service）
	 * 
	 * @param serial
	 * @throws TmsDaoException
	 */
	public void updateMarketCarService(String serial) throws TmsDaoException;
	
	/**
	 * 更新 库存车辆业务表（tms_market_car_service）
	 * 
	 * @param serial
	 * @throws TmsDaoException
	 */
	public void updateMarketCarServiceByMq203(String serial, int checkPrice, int changePrice) throws TmsDaoException;
	/**
	 * 更新车辆信息
	 * @param marketCarInfoDto
	 * @throws TmsDaoException
	 */
	public void updateCarLicensePlateInfo(MarketCarInfoDto marketCarInfoDto) throws TmsDaoException;
	/**
	 * 通过车架号查找车辆信息
	 * @param vin
	 * @throws TmsDaoException
	 * */
	public MarketCarInfoDto findMarketCarInfoListByVin(String vin)throws TmsDaoException;
	/**
	 * 通过车辆编号查找商户短名
	 * @param vin
	 * @throws TmsDaoException
	 * */
	public String findShortNameBySerial(String serial) throws TmsDaoException;
	/**
	 * 更新车辆进出时间
	 * @param vin
	 * @throws TmsDaoException
	 * */
	public void updateTmpStorageEnterTime(MarketCarInfoDto marketCarInfoDto) throws TmsDaoException;
	
	//
	public int getCarByMemberIdCount(String memberId) throws TmsDaoException;
	public List findPageCarByMemberId(String memberId,int pageNumber,int pageSize) throws TmsDaoException;
	//
	public int getMarketCarInfoCountByCarStyleId(String vendorId) throws TmsDaoException;
	public List getMarketCarInfoByCarStyleId(String vendorId,int pageNumber,int pageSize) throws TmsDaoException;
	//
	public List getMarketCarPrice(double minPrice,double maxPrice, int pageNumber, int pageSize) throws TmsDaoException;
	public int getMarketCarPriceCount(double minPrice,double maxPrice) throws TmsDaoException;

	void updateMarketCarInfoFor204(MarketCarInfoDto marketCarInfoDto) throws TmsDaoException;
	void updateMarketCarInfoFor205(MarketCarInfoDto marketCarInfoDto) throws TmsDaoException;
	void updateMarketCarInfoFor206(MarketCarInfoDto marketCarInfoDto) throws TmsDaoException;
	void insertTroubleCarInfo(TroubleCarInfoDto dto) throws TmsDaoException;
	public void updateTroubleCarInfo(TroubleCarInfoDto dto) throws TmsDaoException;
	public void deleteTroubleCarInfo(TroubleCarInfoDto dto) throws TmsDaoException;
	
	/**
	 * @param dto
	 * @throws TmsDaoException
	 */
	public void insertBaseCarInfo(BaseCarInfoDto dto) throws TmsDaoException;
	public void updateBaseCarInfo(BaseCarInfoDto dto) throws TmsDaoException;
	
	public void insertCarOwner(MarketCarInfoDto dto) throws TmsDaoException;
	
	public List<MarketCarInfoDto> getVaoNameInfoList(String vaoName) throws TmsDaoException;
	
	public MarketCarInfoDto getCtiyInfo(String id) throws TmsDaoException ;
	
	public void updateMarketCarInfoByVin(MarketCarInfoDto marketCarInfoDto) throws TmsDaoException;
	
	public List<MarketCarInfoDto> getMarCarInfo(String memberId, String vin) throws TmsDaoException;
}
